Sensor devices can measure and inspect items conveyed along the production line (hereafter, work piece(s)), and are thus quite popular in factory automation (FA). These sensor devices are typically referred to as image sensors or visual sensors. An image sensor can be configured as a camera and an image processing device. The image sensor matches a pre-registered teaching object (hereafter a “model” or a “pattern”) to detect a work piece in an image, and to extract the required information or perform a measurement. The output from the image sensor may be used for various purposes, such as recognizing, inspecting, or sorting the work piece.
An increasingly popular production format in FA involves conveying a plurality of different types of work pieces mixed together on the same line and applying different kinds of processes based on the type of work piece. For instance, different types of work pieces flow randomly on a conveyor on a production line purposed for packaging an assortment of products. Picker robots then pick up, correctly position, and pack different categories of work pieces. Furthermore, a high-variety low-volume line can manufacture a product series where the specifications such as the shape, size, or color of the work pieces differ slightly; here, the processing method, the inspection requirements, or the like may differ for each specification.
An image sensor must be capable of correctly determining the type of work piece on a production line flowing a mix of a plurality of different types of work pieces (hereafter, a “mixed flow production line”) to allow different types of processes to be performed on different types of work pieces. In order to use template matching to classify work pieces, a plurality of types of model images are registered in the image sensor in advance. The type of work piece can be estimated by obtaining the model image that best matches the work piece image.
Here are some problems with recognizing images of a plurality of similar types of models differing, for instance, by color or shape. In template matching, a similarity score is calculated by determining the degree to which the feature points in model image match the feature points in the input image.
Consider using object recognition to recognize the faces of a six-sided die with the images of the six-sided die (FIG. 12). As illustrated in FIG. 12, a plurality of models is given a perfect score (a degree of similarity of 100) when performing recognition on an input image showing the side of the die with five pips. Thus the recognition result for the input image is based on noise. In this way, the degrees of similarity provide no distinction because some of the model images are subsets of each other (containment), or many of the model images have large intersections between them. In other words, it tends to be difficult to properly identify an object using the typical degree of similarity concept in template matching when a number of the model images are similar.
Japanese Patent Publication No. 2009-116385 (Patent Document 1) proposes calculating mutual correlation values for similar model images. The locations of the feature points with a low correlation are recorded, and only those feature points are used to calculate the degree of similarity. Thus, proper recognition is possible even when there are model images that are similar because the degree of similarity is calculated using only feature points having a low correlation.
Despite that, the method proposed in Japanese Patent Publication No. 2009-116385 requires this correlation computation for all combinations of the similar model images. The number of combinations increases (by (O(n2))) when many of the model images are similar and thus the issues surrounding processing speed and memory usage remain unresolved. Moreover, recognition is multi-leveled and is carried out on a one-to-one basis. An increased number of similar models increase the recognition depth and thus increases processing time by O(n log n).